import type { CONTAIN_SUB } from '@/enum/modules/public'
import type {
  EnergyBindItem,
  EnergyInfo,
  EnergySaveOrUpdateParams,
} from '@/types'

const controller = getAjaxBaseUrl('/energy', '/energy')

/** 新增或修改能源信息 */
export function saveOrUpdate(params: Partial<EnergySaveOrUpdateParams>) {
  return post(`${controller}/saveOrUpdateEnergy`, params)
}

/** 查询能源信息列表 */
export function queryList() {
  return get<EnergyInfo[]>(`${controller}/queryEnergyList`)
}

/** 删除能源信息 */
export function deleteById(id: number) {
  return get(`${controller}/deleteEnergy`, { id })
}

/** 新增或修改能源与企业关系 */
export function batchEnterprise(params: number[]) {
  return post(`${controller}/saveOrUpdateEnergyMiddle`, params)
}

/** 查询企业与能源关系 */
export function queryEnterpriseBindList(tenantId?: number) {
  return get<EnergyBindItem[]>(
    `${controller}/selectEnergyByTenantId`,
    {
      tenantId,
    },
  )
}

/** 自动抄表、远程监视中能源品种与用能单元联动 */
export function selectEnergy(pointId: number, containSub: CONTAIN_SUB) {
  return get<EnergyBindItem[]>(`${controller}/selectEnergy/${pointId}/${containSub}`)
}
